﻿/*
 * zrandom.h
 *
 *  Created on: 2015年4月3日
 *      Author: Fifi Lyu
 */

#ifndef INCLUDE_ZPSOE_ZALGORITHM_ZRANDOM_H_
#define INCLUDE_ZPSOE_ZALGORITHM_ZRANDOM_H_

#include "zpsoe/common.h"

namespace zpsoe {

namespace zalgorithm {

namespace zrandom {

// 生成随机数
// 根据时间(单位：纳秒)生成随机数
// 连续生成随机数，重复率为 5% 左右
ZPSOE_SHARED_LIB_API int64_t get_random();

// 生成随机字符串
// 默认生成不含空格的，由 ASCII 可见字符组成的字符串
// CC_ALNUM: 字母以及数字
// CC_ALPHA: 字母
// CC_DIGIT: 数字
// CC_PRINT: 可见字符(不包括空格)
ZPSOE_SHARED_LIB_API string gen_random(
        const size_t &size, char_classification_t = CC_PRINT);

} /* namespace zrandom */

} /* namespace zalgorithm */

} /* namespace zpsoe */

#endif /* INCLUDE_ZPSOE_ZALGORITHM_ZRANDOM_H_ */
